package zuo.algo.c19;

/**
 * 00:44
 * 有先手和后手两只动物吃草，先和后都只能吃4的n次方草。
 * 现有n份草，谁先吃完谁赢，求谁赢。
 */
public class A03 {

    public static String exc1(int n) {
        // 0  1  2 3  4
        // 后 先 后 先 先
        if (n < 5) {
            return (n == 0 || n == 2) ? "后手" : "先手";
        }
        int i = 1;
        while (i <= n) {
            if ("后手".equals(exc1(n - i))) {
                return "先手";
            }
            if (i > n / 4) {
                break;
            }
            i *= 4;
        }
        return "后手";
    }

    public static String exc2(int n) {
        if (n % 5 == 0 || n % 5 == 2) {
            return "后手";
        }
        return "先手";
    }

    public static void main(String[] args) {
        for (int i = 0; i < 1000; i++) {
            String res1 = exc1(i);
            String res2 = exc2(i);
            System.out.println("n=" + i + " res1=" + res1 + " res2=" + res2);
            if (!res1.equals(res2)) {
                System.out.println("error");
                break;
            }
        }
    }
}
